You are here: Symbol Reference > Dew Namespace > Dew.Signal Namespace > Dew.Signal.Units Namespace > Classes > SignalUtils Class > SignalUtils Methods > BlackmanExact Method > SignalUtils.BlackmanExact Method ([In] TVec, TSignalWindowMode)
Dew Signal for .NET
ContentsIndexHome
PreviousUpNext
SignalUtils.BlackmanExact Method ([In] TVec, TSignalWindowMode)

Exact blackman window.

Syntax
C#
Visual Basic
public static TVec BlackmanExact([In] TVec Src, TSignalWindowMode WindowMode);

Applies exact Blackman window to Src. Window functions are applied to the signal prior to conversion to frequency domain with the FFT algorithm, to reduce the spectral leakage. Their side-effect is a lower frequency resolution. 

w[n] := 0.42659071 - 0.49656062*cos(2*Pi*n/(n-1)) + 0.07684867*cos(4*Pi*n/(n-1)) 

0 <= n <= M - 1

Reduce spectral leakage of the FFT by first applying exact Blackman window to the the signal.

using Dew.Math; using Dew.Math.Units; using Dew.Signal; using Dew.Signal.Units; using Dew.Math.Tee; using Dew.Signal.Tee; private void button1_Click(object sender, EventArgs e) { Vector h = MtxExpr.Sin(MtxExpr.Ramp(256, TMtxFloatPrecision.mvDouble,0, 2 * Math387.PI * 0.1)); Vector h1 = new Vector(0); Vector Response = new Vector(0); Vector Response1 = new Vector(0); h1.Copy(h); SignalUtils.BlackmanExact(h, TSignalWindowMode.wmSymmetric); //window the sinc impulse response MtxVecTee.DrawIt(h,"",false); h = h * 2.344168; //scale the signal to compensate for energy loss SignalUtils.FrequencyResponse(h1,null, Response,8,false, TSignalWindowType.wtRectangular, 0); SignalUtils.FrequencyResponse(h, null, Response1, 8, false, TSignalWindowType.wtRectangular, 0); MtxVecTee.DrawIt(new TVec[2] { Response, Response1 }, new string[2] { "Rectangular window", "Exact blackman" }, "Frequency response", false); }
Copyright (c) 1999-2024 by Dew Research. All rights reserved.
What do you think about this topic? Send feedback!